The present invention relates to processing data of a plurality of digital communication channels having different data rates using code sequences having different length, i.e., in a CDMA telecommunications network.
In telecommunications systems, a large number of communication channels containing voice or data signals may be transmitted together via the same transmission medium, for example, a radio frequency band. A multitude of access schemes for placing communication channels on the transmission medium is known. A class of transmission schemes simultaneously transmits a plurality of different communication channels, e.g., in a radio frequency band, in such a way that they overlap in the time domain as well as in the frequency domain. A well-known access scheme of this class is CDMA (Code Division Multiple Access).
In order to distinguish each communication signal from other communication channel signals, each communication channel signal is encoded with one or more unique spreading codes, as this is well-known in the art. One bit of the communication channel signal (here referred to as one xe2x80x9csymbolxe2x80x9d) is processed with one representation of a particular spreading code sequence. The spreading factor determines the length of the spreading code sequence. The spreading code sequence is often termed short code or channelization code. By spreading each of the communication channel signals, the sampling rate will thus be increased in accordance with the spreading factor. The resulting rate is referred to as xe2x80x9cchip ratexe2x80x9d.
For spreading a particular communication channel for transmission, e.g., using CDMA, each symbol of the incoming data stream of the channel, e.g., having a logical value 1 or 0, is represented using the code sequence. For example, if the symbol has the logical value 1, the code sequence itself is transmitted, if the data symbol exhibits the logical value 0, then the inverted code sequence is transmitted or vice versa.
Thus, for a spreading factor of, e.g., 8, each symbol of the incoming data stream of the communication channel is represented by a code sequence with a length of 8 bits, usually referred to as chips. The chip rate of the communication channel after spreading therefore is a function of the spreading factor and the initial data rate of the channel.
In today""s telecommunications networks, it is required to support communication channels having different data rates, for example for the transmission of voice signals or the transmission of data signals, e.g., encountered in facsimile transmissions or in communications between computers. Channels of different data rates may be conveniently supported with the above access scheme by using different spreading factors (different lengths of code sequences) for communication channels having different data rates.
Since the chip rate of each communication channel after spreading preferably is the same highest possible transmission rate, which may be processed by the system, a communication channel having a high data rate may be spread using a code sequence with a short length, whereas a communication channel having a low data rate will preferably be spread using a code sequence having a long length. With the lengths of the code sequences adapted to the data rates of the communication channels, after spreading all spread channels will have the same chip rate.
Perceivably, with the above, the code sequence with the maximum length is determined by the channel with the lowest data or symbol rate, since this channel must be spread with the highest spreading factor, or longest code sequence, respectively. Similarly, the code sequence with the minimum length is determined by the channel with the highest data or symbol rate, since this channel must be spread with the smallest spreading factor.
In a CDMA system, too, the symbol rate is linked to the spreading factor and thus to the length of the code sequence, and channels with different symbol rates require code sequences of different lengths. Representing each symbol of a channel (having a particular symbol rate) with a code sequence may, for example, be done by performing an XOR (Exclusive Or) operation on the symbol and each chip of the code sequence. When performing this operation the rate of the spread channel is increased by the spreading factor (code sequence length), as outlined before.
With the requirement of different channel data rates, as indicated before, code sequences of differing lengths need to be processed by a telecommunications system.
A straight forward, direct solution to this task is to provide dedicated hardware components for each required/provided different channel data rate, capable of processing a code sequence with a given length, the length depending on the particular data rate. However, providing such hardware for each data rate is costly and inflexible and alternative solutions are desirable.
It is therefore object of the invention to provide an apparatus and method for efficient, flexible and cost effective processing of data of a plurality of digital communication channels having different data rates.
This object is solved by an apparatus for processing data of a plurality of digital communication channels (xcfx861, xcfx862, . . . , xcfx86n) having different data rates (RL, RM, RH) using code sequences having different lengths comprising: code storage means (110) for storing at least one copy of one of the code sequences; data storage means (115) for storing at least one copy of at least one symbol of one of the communication channels (xcfx861; xcfx862; . . . ; xcfx86n); processing means (120) for processing the contents of the code storage means with the contents of the data storage means; wherein the number of copies of the code sequence stored in the code storage means (110) and the number of symbols of the communication channel (xcfx861; xcfx862; . . . ; xcfx86n) stored in the data storage means (115) is proportional to the data rate (RL; RM; RH) of the communication channel.
The object is further solved by an apparatus for processing data of a plurality of digital communication channels (xcfx861, xcfx862, . . . , xcfx86n) having different data rates (RL, RM, RH) using code sequences having different lengths, comprising: code storage means (110) for storing at least one copy of one of the code sequences; data storage means (115) for storing at least one copy of at least one symbol of one of the communication channels (xcfx861; xcfx862; . . . ; xcfx86n); a select circuit (150) for selecting at least one data symbol from one of the plurality of communication channels (xcfx861, xcfx862, . . . , xcfx86n) and for selecting a code sequence having a length depending on the data rate of the selected communication channel and for controlling loading the at least one symbol and the code sequence into the data and code storage means, wherein the number of copies of the code sequence stored in the code storage means (110) and the number of symbols of the communication channel (xcfx861; xcfx862; . . . ; xcfx86n) stored in the data storage means (115) is proportional to the data rate (RL; RM; RH) of the communication channel; and processing means (120) for processing the contents of the code storage means with the contents of the data storage means.
Thus, the at least one data symbol from one of the plurality of communication channels may be selected using a select circuit, further selecting a code sequence having a length corresponding to the data rate of the selected communication channel. The select circuit may advantageously control loading the at least one data symbol and the code sequence into the data and code storage means.
The object is further solved by an apparatus for processing data of a plurality of digital communication channels (xcfx861, (xcfx862, . . . , xcfx86n) having different data rates (RL, RM, RH) using code sequences having different lengths, comprising: a plurality of code storage means (110) for storing at least one copy of one of the code sequences; a plurality of data storage means (115) for storing at least one copy of at least one symbol of one of the communication channels (xcfx861; xcfx862; . . . ; xcfx86n); a plurality of processing means (120) for processing the contents of the code storage means with the contents of the data storage means; a select circuit (450) for scheduling loading at least one symbol of each of the plurality of communication channels and corresponding code sequences into the plurality of data and code storage means for parallel processing by the plurality of processing means; wherein the number of copies of the code sequence stored in the code storage means (110) and the number of symbols of the communication channel (xcfx861; xcfx862; . . . ; xcfx86n) stored in the data storage means (115) is proportional to the data rate (RL; RM; RH) of the communication channel;
The object is further solved by a method for processing data of a plurality of digital communication channels (xcfx861, xcfx862, . . . , xcfx86n) having different data rates (RL, RM, RH) using code sequences having different lengths, including the steps of: storing in code storage means (110) at least one copy of one of the code sequences, the number of copies of the code sequence being proportional to the data rate (RL; RM; RH) of the communication channel; storing in data storage means (115) at least one copy of at least one symbol of one of the communication channels (xcfx861, xcfx862, . . . , xcfx86n), the number of symbols being proportional to the data rate (RL; RM; RH) of the communication channel; and processing the contents of the code storage means with the contents of the data storage means using processing means (120).
Still further, the object is solved by a method for processing data of a plurality of digital communication channels (xcfx861, xcfx862, . . . , xcfx86n) having different data rates (RL, RM, RH) using code sequences having different lengths, including the steps of: selecting at least one data symbol from one of the plurality of communication channels (xcfx861; xcfx862; xcfx86n) using a select circuit (150); and selecting a code sequence having a length depending on the data rate of the selected communication channel; and storing in code storage means (110) at least one copy of one of the code sequences, the number of copies of the code sequence being proportional to the data rate (RL; RM; RH) of the communication channel; storing in data storage means (115) at least one copy of at least one symbol of one of the communication channels (xcfx861, xcfx862, . . . , xcfx86n), the number of symbols being proportional to the data rate (RL; RM; RH) of the communication channel; and processing the contents of the code storage means with the contents of the data storage means using processing means (120).
According to the invention, a plurality of digital communication channels having different data rates may be spread with code sequences having different length using the same hardware structure. This is achieved by providing code storage means for storing at least one representation or copy of one of the code sequences, the number of copies of the code sequence stored in the code storage means being proportional to the data rate of the corresponding communication channel and by providing data storage means for storing at least one data bit/symbol of the corresponding communication channel. The number of copies of the code sequence, the number of symbols of the communication channel stored in the data storage means is proportional to the data rate of the corresponding communication channel. This advantageously allows to use the same hardware structure for communication channels having different data rates. For a communication channel having a higher data rate and a corresponding code sequence of shorter length, a larger number of symbols of the communication channel will be stored (and processed together in one cycle of operation) in the data storage means and a correspondingly larger number of copies of the code sequence will be stored in the code storage means. Thus, in one cycle of operation either a larger number of symbols of a communication channel having a high data rate may be processed or a correspondingly lower number of symbols of a communication channel having a lower data rate.
Advantageously the code storage means may have a number of storage locations equal to a maximum code length. With this condition satisfied, the apparatus will be able to process a communication channel having a lowest data rate and a corresponding code sequence with the maximum code length thus minimizing the number of storage locations of the code storage means.
Further, the data storage means may advantageously have a number of storage locations determined by the number of storage locations of the code storage means divided by a minimum code sequence length, the minimum code sequence length corresponding to a communication channel having the highest data rate. This allows to further reduce the hardware requirements since now the data storage means is able to store the maximum number of symbols, corresponding to the processing of communication channel having the highest symbol rate, and on the other hand storing of only one symbol for the channel having the lowest symbol rate.
In a further advantageous embodiment of the invention, the different lengths of the code sequences are selected such that the number of storage locations of the code storage means is an integer multiple of all the different code lengths. This allows to seamlessly process data of communication channels with code sequences, without encountering empty storage locations (empty storage locations pose data handling problems) during processing and thus avoiding complicated control circuits.
Still further, the different lengths of the code sequences may be selected such that the after spreading the chip rates of all different communication channels are identical.
In a further advantageous embodiment of the invention, data symbols from the data storage means may selected by a circuit, for processing the symbol with the contents of a number of locations of the code storage means, the number of locations being determined by the length of the shortest code sequence. This allows to further reduce the hardware requirements, since each symbol of a communication channel will at least be processed with a number of code storage memory locations, equal to the code sequence with minimum lengths.
The communication channel signals may be represented by complex signals with real valued components, which are independently processed.
In a further advantageous embodiment of the invention, the apparatus may comprise a plurality of code storage means for storing a plurality of code sequences, a plurality of data storage means corresponding to the plurality of code storage means for storing at least one data symbol of each of a plurality of the communication channels, and a plurality of processing means for processing in parallel each of the plurality of code sequences with each of the at least one symbol of the corresponding communication channels.
Further advantageous embodiments of the invention are described in further dependent claims.